Specification-based Verification of Incomplete Programs
نویسندگان
چکیده
Recently, formal methods like model checking or theorem proving have been considered efficient tools for software verification. However, when practically applied, those techniques suffer high complexity cost. Combining static analysis with dynamic checking to deal with this problem has been becoming an emerging trend, which results in the introduction of concolic testing technique and its variations. However, the analysis-based verification techniques always assume the availability of full source code of the verified program, which does not always hold in real life contexts. In this paper, we propose an approach to tackle this problem, where our contributed ideas are (i) combining function specification with control flow analysis to deal with sourcemissing function; (ii) generating self-complete programs from incomplete programs by means of concrete execution, thus making them fully verifiable by model checking; and (iii) developing a constraint-based test-case generation technique to significantly reduce the complexity. Our solution has been proved viable when successfully deployed for checking programming work of students.
منابع مشابه
A model for specification, composition and verification of access control policies and its application to web services
Despite significant advances in the access control domain, requirements of new computational environments like web services still raise new challenges. Lack of appropriate method for specification of access control policies (ACPs), composition, verification and analysis of them have all made the access control in the composition of web services a complicated problem. In this paper, a new indepe...
متن کاملWeb Service Choreography Verification Using Z Formal Specification
Web Service Choreography Description Language (WS-CDL) describes and orchestrates the services interactions among multiple participants. WS-CDL verification is essential since the interactions would lead to mismatches. Existing works verify the messages ordering, the flow of messages, and the expected results from collaborations. In this paper, we present a Z specification of WS-CDL. Besides ve...
متن کاملAutomated Reasoning and Natural Proofs for Programs Manipulating Data Structures
We consider the problem of automatically verifying programs that manipulate a dynamic heap, maintaining complex and multiple data-structures, given modular pre-post conditions and loop invariants. We discuss specification logics for heaps, and discuss two classes of automatic procedures for reasoning with these logics. The first identifies fragments of logics that admit completely decidable rea...
متن کاملTo Run What No One Has Run Before
When program verification fails, it is often hard to understand what went wrong in the absence of concrete executions that expose parts of the implementation or specification responsible for the failure. Automatic generation of such tests would require “executing” the complex specifications typically used for verification (with unbounded quantification and other expressive constructs), somethin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012